package com.mlink.ai.chat.utils

import com.tencent.mmkv.MMKV
import kotlin.math.max

object ChatLimitUtils {
    private const val KEY_TIME = "key_time" // 防止升级引发的错误，这个 key 不再使用
    private const val KEY_COUNT = "key_count" // 防止升级引发的错误，这个 key 不再使用
    const val KEY_COUNT_USED = "key_count_remain"

    fun isUpToLimit(): Boolean {
        return MMKV.defaultMMKV().decodeInt(KEY_COUNT_USED) > 0
    }

    fun getRemainCount(): Int {
//        return MMKV.defaultMMKV().decodeInt(KEY_COUNT_USED)
        return 1000
    }

    fun sendRequest() {
        val count = MMKV.defaultMMKV().decodeInt(KEY_COUNT_USED)
        MMKV.defaultMMKV().encode(KEY_COUNT_USED, max(0, count - 1))
    }

    fun addOneRemain() {
        val count = MMKV.defaultMMKV().decodeInt(KEY_COUNT_USED)
        MMKV.defaultMMKV().encode(KEY_COUNT_USED, count + 1)
    }
}